import Editor from "./Editor";

// 插件超级类
export declare class PluginTempl {
  constructor(canvans: fabric.Canvas, editor: Editor, options?: IPluginOption);
  [propName: string]: any;
  canvas?: fabric.Canvas;
  editor?: Editor;
}

declare class IPluginClass extends PluginTempl {
  constructor();
}
// 插件class
export declare interface PluginClass {
  new (
    canvas: fabric.Canvas,
    editor: Editor,
    options?: IPluginOption
  ): IPluginClass;
}

// 插件的参数
export declare interface IPluginOption {
  [propName: string]: unknown | undefined;
}
